package com.neuedu.nevserver.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author sjy
 * @since 2025-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="FarmBatch对象", description="")
public class FarmBatch implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "编号（代替batch_id与farm_id的复合主键）")
    @TableId(value = "fb_id", type = IdType.AUTO)
    private Integer fbId;

    @ApiModelProperty(value = "所属养殖企业产品批号")
    private String batchId;

    @ApiModelProperty(value = "所属养殖企业编号")
    private Integer nodeId;

    @ApiModelProperty(value = "产品品种编号")
    private Integer type;

    @ApiModelProperty(value = "动物检疫合格证编号")
    private String aqcId;

    @ApiModelProperty(value = "官方检疫员名称")
    private String testName;

    @ApiModelProperty(value = "批号录入日期")
    private Date batchDate;

    @ApiModelProperty(value = "批号状态（1：待发布；2：已发布；3：已下架）")
    private Integer state;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "佐证材料(动物检疫合格证)")
    private String img;

    //一个批号对应一种类型
    @ApiModelProperty(value = "产品类型")
    @TableField(exist = false) //让mybatisPlus忽略此字段的映射
    private ProductType productType;

    public ProductType getProductType() {
        return productType;
    }

    public void setProductType(ProductType productType) {
        this.productType = productType;
    }

    public Integer getFbId() {
        return fbId;
    }

    public void setFbId(Integer fbId) {
        this.fbId = fbId;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public Integer getNodeId() {
        return nodeId;
    }

    public void setNodeId(Integer nodeId) {
        this.nodeId = nodeId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getAqcId() {
        return aqcId;
    }

    public void setAqcId(String aqcId) {
        this.aqcId = aqcId;
    }

    public String getTestName() {
        return testName;
    }

    public void setTestName(String testName) {
        this.testName = testName;
    }

    public Date getBatchDate() {
        return batchDate;
    }

    public void setBatchDate(Date batchDate) {
        this.batchDate = batchDate;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }
}
